這篇想介紹以太坊驗證者(validator)的生命週期,進一步了解驗證者會經歷的過程大概有哪些階段。例如,怎麼從不是驗證者變成驗證者,想當驗證者的時候要怎麼排隊,去合約繳款完開始排隊是怎麼排,以及正式上工後有天不想變成驗證者了怎麼辦。
Source:(https://kb.beaconcha.in/ethereum-staking/deposit-process)
以太坊驗證者(validator)大致上可分成四個階段或狀態:Unknown 未知狀態、Deposited 已繳款狀態、Pending 排隊狀態、Active 上線狀態。Active 上線是真正開始工作,真正的上工。Unknown 未知是把還沒出現在系統這件事情本身建立一個狀態。而 Deposited 已繳款狀態和 Pending 排隊狀態,這兩個狀態本質都是在排隊。
還沒變成驗證者的時候屬於「Unknown」狀態。所以這裡想了解的會是,「Unknown」狀態要怎麼轉變成「已完成繳款(Deposited)」的狀態?那就是去以太坊的存款合約(deposit contract)合約 32 ETH 繳款完,已簽署的交易會進到交易池(Mempool),就像在機場等班機的「等候室」類似情境。存款合約(deposit contract)合約這個合約的交易完成後,接著就是要等,等待時間最少可能是八個多小時,最多可能十六個小時。八個小時或十六個小時之後,驗證者會投票決定哪些存款要收。投票的過程大約需要半個小時到四個小時的時間,投票才會結束,進到下一個階段,也就是 pending 排隊。
已繳款(Deposited)完成的驗證者,就會開始需要排隊(to wait in a queue)。一個大時代(Epoch)只有 8 個驗證者能被加入到排隊的隊伍,一個 Epoch 6.4 分鐘,換算成一天就是 1800 個驗證者能被加入到排隊的隊伍。排隊的隊伍輪到你的時候,就進到上線的狀態了。這樣就完成上線。驗證者上線後,他的工作就會是時不時的在被指定的 slot 做投票(attestation)。
最後一點,驗證者完成上線,正式上工後,萬一有天不想當驗證者怎麼辦?明天來了解。
參考文章:
https://kb.beaconcha.in/ethereum-staking/deposit-process
https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/
Casper the Friendly Finality Gadget 論文:(https://arxiv.org/pdf/1710.09437)